

typedef void funcao();

struct NumberPerYear
{ 
	int  year;
	int number;
};

struct nDocentesPerInstPerYear
{ 
	char* inst;
	int nDocentes;
};

struct nDocentesPerDegreePerInstPerYear
{ 
    char* inst;
	char* degree;
	int nDocentes;
};

char* bdName(int ano);

int comparenNumberPerYear(struct NumberPerYear *elem1, struct NumberPerYear *elem2);

int compNDocentesPerInstPerYear(struct nDocentesPerInstPerYear *elem1, struct nDocentesPerInstPerYear *elem2);

int compNDocentesPerDegreePerInstPerYear(struct nDocentesPerDegreePerInstPerYear *elem1, struct nDocentesPerDegreePerInstPerYear *elem2);

int callbackInt(void **NotUsed, int argc, char **argv, char **azColName);

int callbackPyList(void **NotUsed, int argc, char **argv, char **azColName);

int callBack_NDIY(struct nDocentesPerInstPerYear **NotUsed, int argc, char **argv, char **azColName);

int callBack_NDDIY(struct nDocentesPerDegreePerInstPerYear **NotUsed, int argc, char **argv, char **azColName);

void openBD(char bd[], char sql[], funcao fn, void* NotUsed);

PyObject* nInstYear(PyObject* yearList, PyObject* orderBy);

int* nDegreeInstYear(PyObject* yearList);

int PyStringCmp(PyObject** elem1, PyObject** elem2);

PyObject* listInstNoWrite(PyObject* yearList);

